package com.cc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cc.base.PageResponse;
import com.cc.base.ResponseResult;
import com.cc.pojo.domain.Role;
import com.cc.pojo.dto.PermissionsDto;
import com.cc.pojo.dto.RplePageDto;
import com.cc.pojo.vo.OptionsVo;

import java.util.List;

public interface RoleService extends IService<Role> {
    /**
     * 添加角色
     * @param role
     * @return
     */
    ResponseResult<String> addRole(Role role);

    /**
     * 修改角色
     * @param role
     * @return
     */
    ResponseResult<String> updateRole(Role role);

    /**
     * 角色分页查询
     * @param pageDto
     * @return
     */
    ResponseResult<PageResponse<Role>> rolePage(RplePageDto pageDto);

    /**
     * 根据角色id获取权限列表
     * @param roleId
     * @return
     */
    ResponseResult<List<String>> getPermissionsRoleId(Long roleId);

    /**
     * 修改角色权限
     * @param permissionsDto
     * @return
     */
    ResponseResult<List<String>> updatePermissions(PermissionsDto permissionsDto);

    /**
     * 获取权限权限列表
     * @return
     */
    ResponseResult<List<OptionsVo>> permissionsList();
}
